package com.sc.study.student.domain;

import com.sc.study.clazz.domain.ScClazz;
import com.sc.study.exam.domain.ScStudentTestexam;
import com.sc.study.exam.domain.ScStudentTestexamResult;
import com.sc.study.foundation.domain.ScGrade;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sc.common.annotation.Excel;
import com.sc.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 学员班级对象 sc_student_clazz
 *
 * @author sc
 * @date 2022-02-27
 */
public class ScStudentClazz extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    private Long id;

    /**
     * 班级编号
     */
    @Excel(name = "班级编号")
    private Long clazzid;

    /**
     * 学员编号
     */
    @Excel(name = "学员编号")
    private Long studentid;

    /**
     * 年级编号
     */
    @Excel(name = "年级编号")
    private Long gradeid;

    /**
     * 人员类型
     */
    @Excel(name = "人员类型")
    private Integer clazzpersontypeid;
    /**
     * 进班时间
     */
    @Excel(name = "进班时间")
    private String intime;

    /**
     * 离班时间
     */
    @Excel(name = "离班时间")
    private String outtime;

    /**
     * 年级
     */
    private ScGrade scGrade;

    /**
     * 班级
     */
    private ScClazz scClazz;

    /**
     * 学员
     */
    private ScStudent scStudent;

    /**
     * 历史班级
     */
    private List<ScClazz> scOldClazzList;

    /**
     * 参加过的考试
     */
    private List<ScStudentTestexam> scStudentTestExamList;

    /**
     * 学员编号查询条件
     */
    private Long stucode;

    public Long getStucode() {
        return stucode;
    }

    public void setStucode(Long stucode) {
        this.stucode = stucode;
    }

    public List<ScStudentTestexam> getScStudentTestExamList() {
        return scStudentTestExamList;
    }

    public void setScStudentTestExamList(List<ScStudentTestexam> scStudentTestExamList) {
        this.scStudentTestExamList = scStudentTestExamList;
    }

    public List<ScClazz> getScOldClazzList() {
        return scOldClazzList;
    }

    public void setScOldClazzList(List<ScClazz> scOldClazzList) {
        this.scOldClazzList = scOldClazzList;
    }


    public String getIntime() {
        return intime;
    }

    public void setIntime(String intime) {
        this.intime = intime;
    }

    public String getOuttime() {
        return outtime;
    }

    public void setOuttime(String outtime) {
        this.outtime = outtime;
    }

    public Integer getClazzpersontypeid() {
        return clazzpersontypeid;
    }

    public void setClazzpersontypeid(Integer clazzpersontypeid) {
        this.clazzpersontypeid = clazzpersontypeid;
    }

    public ScGrade getScGrade() {
        return scGrade;
    }

    public void setScGrade(ScGrade scGrade) {
        this.scGrade = scGrade;
    }

    public ScClazz getScClazz() {
        return scClazz;
    }

    public void setScClazz(ScClazz scClazz) {
        this.scClazz = scClazz;
    }

    public ScStudent getScStudent() {
        return scStudent;
    }

    public void setScStudent(ScStudent scStudent) {
        this.scStudent = scStudent;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setClazzid(Long clazzid) {
        this.clazzid = clazzid;
    }

    public Long getClazzid() {
        return clazzid;
    }

    public void setStudentid(Long studentid) {
        this.studentid = studentid;
    }

    public Long getStudentid() {
        return studentid;
    }

    public void setGradeid(Long gradeid) {
        this.gradeid = gradeid;
    }

    public Long getGradeid() {
        return gradeid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("clazzid", getClazzid())
                .append("studentid", getStudentid())
                .append("gradeid", getGradeid())
                .toString();
    }

    public ScStudentClazz() {
    }


    public ScStudentClazz(Long id, Long clazzid, Long studentid, Long gradeid) {
        this.id = id;
        this.clazzid = clazzid;
        this.studentid = studentid;
        this.gradeid = gradeid;
    }

    public ScStudentClazz(Long clazzid, Long studentid, Long gradeid) {
        this.clazzid = clazzid;
        this.studentid = studentid;
        this.gradeid = gradeid;
    }

    public ScStudentClazz(Long clazzid, Long studentid, Long gradeid, Integer clazzpersontypeid) {
        this.clazzid = clazzid;
        this.studentid = studentid;
        this.gradeid = gradeid;
        this.clazzpersontypeid = clazzpersontypeid;
    }

    public ScStudentClazz(Long clazzid, Long studentid, Long gradeid, Integer clazzpersontypeid, String intime) {
        this.clazzid = clazzid;
        this.studentid = studentid;
        this.gradeid = gradeid;
        this.clazzpersontypeid = clazzpersontypeid;
        this.intime = intime;
    }

    public ScStudentClazz(Long clazzid, Long studentid, Long gradeid, Integer clazzpersontypeid, String intime, String outtime) {
        this.clazzid = clazzid;
        this.studentid = studentid;
        this.gradeid = gradeid;
        this.clazzpersontypeid = clazzpersontypeid;
        this.intime = intime;
        this.outtime = outtime;
    }
}
